/*
 * symtab demostration, including errors
 */

main( a, b) int a, b;
{
  a = b;
  { a; b; }
  if ( a == b ) { a; b; }
  if ( a == b + 1) a; else b;
  while ( a == b) { a; break; }
  return;
} /* main */

int f() { int x; int y; return x + y; }
f(a,b)                     /* 16: duplicate function definition */
  int a;                   /* undeclared parm b (not an error ) */ 
{
  int b, c;                /* 19: symbol b duplicates param b  */
  int c, d;                /* 20: duplicate symbol c */

  e = b;                   /* 22: undeclared e*/
  f = c + d;               /* 23: use function for var */
  a(b);                    /* 24: use var for function */
  g();                     /* 25: undefined function g */
} /* f */

h(a,a)                     /* 28: duplicate parameters */
  int f;                   /* 29: not a parameter */
  int a;
  int a;                   /* 31: duplicate parameter */
{}
